#ifndef CUBEMAP_H
#define CUBEMAP_H

#include "object3d.h"
#include "vector"
#include "vector3d.h"


//#define GL_TEXTURE_CUBE_MAP_ARB             0x8513
//#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB  0x8515
//#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB  0x8516
//#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB  0x8517
//#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB  0x8518
//#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB  0x8519
//#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB  0x851A


class CubeMap : public Object3D
{
    Q_OBJECT
public:
    explicit CubeMap(QGLWidget *parent = 0);

    void Update();
    bool isVisible() const { return visible; }
    void SetVisible(bool b) { visible = b;}

private :
    bool  visible;
//    Vector3D centre;
    std::vector<Vector3D> sommets;
//    QImage devant, derriere, haut, droite, gauche, bas;
    QImage texture_image[6];
    GLuint cube_map_texture_ID[6];




};

#endif // CUBEMAP_H
